A Java-Based Parallel Programming Support Environment
نویسندگان
چکیده
The Java programming language and environment is stimulating new research activities in many areas of computing, not the least of which is parallel computing. Parallel techniques are themselves finding new uses in cluster computing systems. Although there are excellent software tools for scheduling , monitoring and message-based programming on parallel clusters, these systems are not yet well integrated and do not provide very high-level parallel programming paradigm support. We have prototyped a multi-paradigm parallel programming toolkit in Java, specifically targeting an integrated approach on Beowulf-style cluster computers. Our JUMP system builds on ideas from the message-passing community as well as from distributed systems technologies. We believe our system promises high performance for parallel programming as well as integrating with meta-computing frameworks for sharing resources across administrative boundaries. The ever-improving Java development environment allows us access to a number of techniques that were not available using the message-passing systems of the past. In addition to the usual object-oriented programming benefits, these include: language reflection; a rich variety of remote and networking techniques; dynamic class-loading; and code portability. Using pure Java does at present still limit performance of some applications, but we believe that as a research software system, the benefits of scoping out the design issues of a system like JUMP now, are significant. We expect Java Virtual Machine (JVM) performances to continue to improve. Our system supports the usual messaging primitives although in a more natural style for a modern object oriented program. We are using our JUMP model framework to research some of the long sought after parallel programming goals of support for parallel I/O; irregular and dynamic domain decomposition and in particular irregular mesh support.
منابع مشابه
An advanced environment supporting structured parallel programming in Java
In this work we present Lithium, a pure Java structured parallel programming environment based on skeletons (common, reusable and efficient parallelism exploitation patterns). Lithium is implemented as a Java package and represents both the first skeleton based programming environment in Java and the first complete skeleton based Java environment exploiting macro-data flow implementation techni...
متن کاملDOGMA: Distributed Object Group Management Architecture y
The performance of Java just-in-time compilers currently approaches native C++, making Java a serious contender for supercomputing application development. This paper presents DOGMA{a new Java based system which enables parallel computing on heterogeneous computers. DOGMA supports parallel programming in both a traditional message passing form and a novel object-oriented approach. DOGMA provide...
متن کاملParallel Processing Letters Performance Evaluation of Jpvm
Received (received date) Revised (revised date) Communicated by (Name of Editor) ABSTRACT PVM for Java (JPVM) is a parallel programming environment that provides a set of Parallel Virtual Machine (PVM)-like class libraries developed using Java. JPVM inherits the attributes of Java, especially Java support of heterogeneous system. However, it also has the disadvantage of poor performance when co...
متن کاملTowards Automatic Support of Parallel Sparse
In this paper, we present a generic matrix class in Java and a runtime environment with continuous compilations aiming to support automatic parallelization of sparse computations on distributed environments. Our package comes with a collection of matrix classes including operators of dense matrix, sparse matrix, and parallel matrix on distributed memory environments. In our environment, a progr...
متن کاملJava Tools and Technologies for Cluster Computing
The Java language and its associated libraries and environment provide a powerful and flexible platform for programming computer clusters. Java tools and technologies enable experimentation in both management aspects as well as performance aspects of cluster systems. We discuss the current interesting problems in cluster computing including those derived from distributed computing as well as th...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000